A computing device may be configured to couple to one or more peripheral devices. The computing device may be configured to support virtualization which allows sharing of computing device resources between pluralities of virtual machine domains, typically managed by a virtual machine monitor (i.e., “hypervisor”). A respective subset of the peripheral devices may be included in each domain.
The computing device may include an input-output (I/O) controller configured to physically couple to the peripheral devices and to provide an interface between the peripheral devices and the computing device. In some situations, direct memory access (DMA) may be utilized to transfer data and/or commands between the computing device and one or more of the peripheral devices.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.